// shapefileWorker.js

importScripts('https://unpkg.com/shapefile/dist/shapefile.js');

onmessage = function (e) {
  const data = e.data;
  const dbf = e.dbf;
  console.log('启动worker线程');

  // 使用 Shapefile 库进行解析
  shapefile.open(data, dbf)
    .then(source => source.read()
      .then(function log(result) {
        if (result.done) {
          // 发送解析完成的消息到主线程
          postMessage({ type: 'done' });
          return;
        }

        // 发送解析得到的数据到主线程
        postMessage({ type: 'data', value: result.value });

        return source.read().then(log);
      }))
    .catch(error => {
      // 发送解析错误的消息到主线程
      postMessage({ type: 'error', error: error.message });
    });
};
